import UIKit

@available(iOS 13.0, *)
extension QKC where AA :UIWindowScene {
    open func screen_qk_g() -> QKC<AA,YY,ZZ, UIScreen >{
		 self +^ self.value.screen
	}

    open func interfaceOrientation_qk_g() -> QKC<AA,YY,ZZ, UIInterfaceOrientation >{
		 self +^ self.value.interfaceOrientation
	}

    open func coordinateSpace_qk_g() -> QKC<AA,YY,ZZ, UICoordinateSpace >{
		 self +^ self.value.coordinateSpace
	}

    open func traitCollection_qk_g() -> QKC<AA,YY,ZZ, UITraitCollection >{
		 self +^ self.value.traitCollection
	}

	// Restrictions which the system should use when resizing the scene. This property will be NULL on platforms which don't support scene resize, else a mutable object is returned which the client may customize.
    @available(iOS 13.0, *)
    open func sizeRestrictions_qk_g() -> QKC<AA,YY,ZZ, UISceneSizeRestrictions? >{
		 self +^ self.value.sizeRestrictions
	}

	// The array of all windows associated with this UIWindowScene
    open func windows_qk_g() -> QKC<AA,YY,ZZ, [UIWindow] >{
		 self +^ self.value.windows
	}

}

@available(iOS 13.0, *)
extension QKC where AA :UIWindowSceneDestructionRequestOptions {
    open func windowDismissalAnimation_qk_s(_ windowDismissalAnimation:  UIWindowScene.DismissalAnimation) -> QKC<AA,YY,ZZ, UIWindowScene.DismissalAnimation>{
		return link(next: windowDismissalAnimation).then_QK { $0.value.windowDismissalAnimation = windowDismissalAnimation }
	}
    open func windowDismissalAnimation_qk_g() -> QKC<AA,YY,ZZ, UIWindowScene.DismissalAnimation>{
		 self +^ self.value.windowDismissalAnimation
	}

}

@available(iOS 13.0, *)
extension QKC where AA :UISceneSizeRestrictions {
    open func minimumSize_qk_s(_ minimumSize:  CGSize) -> QKC<AA,YY,ZZ, CGSize>{
		return link(next: minimumSize).then_QK { $0.value.minimumSize = minimumSize }
	}
    open func minimumSize_qk_g() -> QKC<AA,YY,ZZ, CGSize>{
		 self +^ self.value.minimumSize
	}

    open func maximumSize_qk_s(_ maximumSize:  CGSize) -> QKC<AA,YY,ZZ, CGSize>{
		return link(next: maximumSize).then_QK { $0.value.maximumSize = maximumSize }
	}
    open func maximumSize_qk_g() -> QKC<AA,YY,ZZ, CGSize>{
		 self +^ self.value.maximumSize
	}

}

